package com.wanxi.service;

import com.wanxi.model.Permission;
import com.wanxi.model.ResultModel;
import com.wanxi.model.UserModel;
import org.springframework.security.core.userdetails.UserDetailsService;

import java.util.List;

/**
 * @author 杨金乾
 */
public interface UserService extends BaseService<UserModel>{
    /**
     * 登录验证用户名与密码比较
     * @param userModel
     * @return
     */
    ResultModel login(UserModel userModel);

    /**
     * 修改密码
     * @param model
     * @return
     */
    ResultModel password(UserModel model);

    /**
     * 根据用户名获取用户对象
     * @param username 用户登录名
     * @return
     */
    UserModel getUserByName(String username);

    /**
     * 获取指定用户拥有的权限
     * @param id 用户id
     * @return
     */
    List<Permission> getPermissionsByUserId(Long id);
}
